{{tag> grapheurs éducation logiciels_pour_le_lycée}}

----

====== QtiPlot ======

**QtiPlot** est un logiciel de traitement et de visualisation de données.

La volonté affichée est de fournir une alternative libre (licence [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]]) à des logiciels similaires mais propriétaires et payants tels que: [[http://www.originlab.com/|Origin]], [[http://www.systat.com/products/sigmaplot/|SigmaPlot]] ou encore [[http://pagesperso-orange.fr/jean-michel.millet/regressi.html|Regressi]].

{{http://soft.proindependent.com/doc/manual-en/pics/exemple-plot3d.png}}

===== Installation du binaire =====

==== Prérequis ====
  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Avoir activé l'accès aux [[:depots#universe_et_multiverse|dépôts Universe et Multiverse]].

==== Installation depuis les dépôts ====
Depuis [[:gutsy|Ubuntu 7.10 (Gutsy Gibbon)]], **QtiPlot** est disponible dans les dépôts [[:depots#universe_et_multiverse|Universe]].

Il suffit alors d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]][[apt://qtiplot|qtiplot]].

La version de **QtiPlot** disponible dans les dépôts n'est généralement pas la dernière version disponible.

==== Installation de la dernière version depuis le site officiel (Payant) ====
Il est possible de télécharger la dernière version de **QtiPlot** (sous la forme de paquets) depuis le [[http://soft.proindependent.com/qtiplot.html|site officiel]].

<note important>Bien que **QtiPlot** soit libre (licence [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]]), les paquets disponibles sur le site officiel sont payants. Les tarifs sont disponibles à l'adresse : [[http://soft.proindependent.com/pricing.html]].</note>

Se référer au site officiel pour l'installation des paquets officiels : [[http://soft.proindependent.com/qtiplot.html]].
===== Installation à partir des sources =====
==== Préparation ====
S'il  existe une compilation/installation qui n'est pas triviale, c'est bien celle de QtiPlot. Mais ce grapheur est tellement adapté à la production de documents scientifiques qu'il est important de s'y pencher. Précisons que la compilation s'est effectuée correctement avec Jaunty (9.04), Lucid (10.04) et Maverick (10.10), mais que la méthode décrite ci-dessous est relative aux dernières version (10.10 et 11.04).
C'est parti :
==== Installation des dépendances ====
<note important>
- QtiPlot peut se compiler sans le support des scripts Python mais il lui faut absolument muParser !

- Il se peut que vous ayez besoin d'autres packages que ceux indiqués ci-dessus.

- Les traductions ne sont pas mises à jour.

- Il se peut qu'un lien soit cassé si une version ultérieure est sortie. Récupérez alors le fichier directement en visitant la page Web.
</note>

Commençons par installer les bibliothèques manquantes mais disponibles dans Jaunty, Lucid et Maverick : [[apt://libboost-all-dev,libgsl0-dev,libqt4-dev,docbook-utils,dblatex,libpng12-dev,libtool,zlib1g-dev,qt4-dev-tools,python-all-dev,libxext-dev,libqtassistantclient-dev,libmuparser-dev,python-qt4-dev,python-sip-dev|libboost-all-dev,libgsl0-dev,libqt4-dev,docbook-utils,dblatex,libpng12-dev,libtool,zlib1g-dev,qt4-dev-tools,python-all-dev,libxext-dev,libqtassistantclient-dev,libmuparser-dev,python-qt4-dev,python-sip-dev]].

  * [[http://www.zlib.net|zlib]] permet de compresser les fichiers projets de QtiPlot,
  * [[http://www.gnu.org/software/gsl/|gsl]] est une librairie de manipulation de données scientifiques (nombres complexes, FFT, intégration, interpolation, etc.),
  * [[http://www.libpng.org/pub/png/libpng.html|libpng]] est utilisé pour l'export des graphes au format png. Nécessite zlib.

=== Installation de la librairie libEMF ===
  > cd /tmp/
  > wget http://downloads.sourceforge.net/project/libemf/libemf/1.0.4/libEMF-1.0.4.tar.gz
  > tar xvzf libEMF-1.0.4.tar.gz
  > cd libEMF-1.0.4
  > ./configure; make; sudo make install

=== Installation de la dernière version de sip (>=4.11) ===

  > cd /tmp/
  > wget http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-4.12.3.tar.gz
  > tar xvzf sip-4.12.3.tar.gz
  > cd sip-4.12.3/
  > python configure.py; make; sudo make install

=== Installation de la dernière version de PyQt (>=4.7) ===
**Attention** : ce logiciel nécessite sip-4.12 et sa compilation est assez longue

  > cd /tmp/
  > wget http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.8.4.tar.gz
  > tar xvzf PyQt-x11-gpl-4.8.4.tar.gz
  > cd PyQt-x11-gpl-4.8.4
  > python configure.py; make; sudo make install

==== Installation des dépendances tierces ====
Créez un répertoire QtiPlot :

  > mkdir QtiPlot
  > cd QtiPlot

Ce répertoire est important. Nous décompresserons les autres logiciels dedans !!!

Nous allons maintenant compiler toutes ces bibliothèques

=== Compilation de tamu_anova ===
       
  > wget http://www.stat.tamu.edu/~aredd/tamuanova/tamu_anova-0.2.tar.gz
  > tar xvzf tamu_anova-0.2.tar.gz
  > cd tamu_anova-0.2
  > ./configure 
  > make

=== Compilation de QTexEngine ===
QTexEngine permet d'utiliser LaTeX dans QtiPlot.

  > cd ..
  > wget http://download.berlios.de/qtiplot/QTeXEngine-0.3-opensource.zip
  > unzip QTeXEngine-0.3-opensource.zip
  > cd QTeXEngine
  > qmake
  > make
  > sudo cp ./src/QTeXEngine.h /usr/local/include
  > sudo cp ./libQTeXEngine.a /usr/local/lib
    
=== Compilation de AlGlib ===

  > cd ..
  > wget http://www.alglib.net/translator/re/alglib-2.6.0.cpp.zip
  > unzip alglib-2.6.0.cpp.zip
  > cd cpp
  > chmod +x build
  > ./build gcc


Vous devez avoir l'arborescence suivante :

  QtiPlot
       |-- tamu_anova-0.2
       |-- QTexEngine
       |-- cpp
==== Compilation de QtiPlot ====

Téléchargez QtiPlot sur le site de [[http://download.berlios.de/qtiplot/qtiplot-0.9.8.5.tar.bz2 | proindependant]]. La dernière version est la 0.9.8.5. Décompressez l'archive dans ce répertoire ''QtiPlot''. Ce répertoire (qtiplot-0.9.8.5) est appelé QTI_ROOT dans le fichier de configuration ci-dessous.
Désormais, vous devez avoir une arborescence du genre :

  QtiPlot
       |-- tamu_anova-0.2
       |-- QTexEngine
       |-- cpp
       |-- qtiplot-0.9.8.5
       
Si vous avez déjà compilé d'anciennes version de QtiPlot (par exemple la 0.9.8.4), elles doivent aussi apparaitre dans ce répertoire **QtiPlot**.

=== Modification du fichier qwtplot3d.pro ===

Éditez le fichier 3rdparty/qwtplot3d/qwtplot3d.pro et rajouter la ligne suivante à la ligne 17 :

  unix:CONFIG  += staticlib
  
=== Modification du fichier qtiplot/qtiplot.pro ===

Commentez les lignes 233 à 242 :

  233 #LIBS        += src/plugins/libQtiPlotdBasePlugin.a
  234 #LIBS        += src/plugins/libQtiPlotDatabasePlugin.a                                                                                                   
  235 #LIBS        += src/plugins/libQtiPlotCsvPlugin.a
  236 #LIBS        += src/plugins/libQtiPlotTexPlugin.a
  237 #LIBS        += src/plugins/libQtiPlotOdsPlugin.a
  238 #LIBS        += src/plugins/libQtiPlotExcelPlugin.a
  239 #LIBS        += src/plugins/libQtiPlotOriginPlugin.a
  240 #LIBS        += src/plugins/libQtiPlotEmfExportPlugin.a
  241 #LIBS        += ../3rdparty/quazip/lib/libquazip.a
  242 #LIBS        += ../3rdparty/EmfEngine/libEmfEngine.a

=== Configuration du fichier build.conf ===
Il faut ensuite créer un fichier **build.conf** dans QTI_ROOT à partir d'un fichier exemple fourni **build.conf.example**. Voici le mien :
<code>
isEmpty( QTI_ROOT ) {
  message( "each file including this config needs to set QTI_ROOT to the dir containing this file!" )
}

##########################################################
##     System specific configuration
##########################################################

SYS_INCLUDEPATH = -I/$$QTI_ROOT/tmp/qtiplot
SYS_LIBS = -L/opt/local/lib

MUPARSER_INCLUDEPATH = /usr/local/include
MUPARSER_LIBS = -lmuparser
GSL_LIBS = -lgsl -lgslcblas

QWT_INCLUDEPATH = $$QTI_ROOT/3rdparty/qwt/src
QWT_LIBS = $$QTI_ROOT/3rdparty/qwt/lib/libqwt.a

QWT3D_INCLUDEPATH = $$QTI_ROOT/3rdparty/qwtplot3d/include
QWT3D_LIBS = $$QTI_ROOT/3rdparty/qwtplot3d/lib/libqwtplot3d.a

ZLIB_INCLUDEPATH = $$QTI_ROOT/3rdparty/zlib/

QUAZIP_INCLUDEPATH = /usr/local/include/quazip
QUAZIP_LIBS = -lquazip

TEX_ENGINE_LIBS = ../../../QtiPlot/QTeXEngine/libQTeXEngine.a
TEX_ENGINE_INCLUDEPATH = ../../../QtiPlot/QTeXEngine/src

TAMUANOVA_INCLUDEPATH = ../../tamu_anova-0.2/
TAMUANOVA_LIBS = ../../tamu_anova-0.2/libtamuanova.a

LIBPNG_LIBS = -lpng

ALGLIB_INCLUDEPATH = ../../../../QtiPlot/cpp/src
ALGLIB_LIBS = ../../../QtiPlot/cpp/out/libalglib.a

##########################################################
## python - only used if python is needed
##########################################################

# the python interpreter to use
# (unix only, windows will use what ever is configured to execute .py files!)
PYTHON = python

##########################################################
## Qt tools - allows to use specific versions
##########################################################

LUPDATE = lupdate
LRELEASE = lrelease

############################################################
##  Target specific configuration: configure Qtiplot itself
############################################################

contains( TARGET, qtiplot ) {
  # building without muParser doesn't work yet
  SCRIPTING_LANGS += muParser
  SCRIPTING_LANGS += Python

  # a console displaying output of scripts; particularly useful on Windows
  # where running QtiPlot from a terminal is inconvenient
#  DEFINES         += SCRIPTING_CONSOLE
#  DEFINES		  += XLS_IMPORT

 #DEFINES         += QTIPLOT_PRO

  # Uncomment the following line if you want to perform a custom installation using the *.path variables defined in ./qtiplot.pro.
 # CONFIG          += CustomInstall

  # Uncomment the following line if you want to build QtiPlot as a browser plugin (not working on Internet Explorer).
 #CONFIG          += BrowserPlugin
  
  CONFIG          += release
#  CONFIG          += debug
}
</code>

=== Compilation ===
Voilà, a priori, vous êtes parés pour la compilation de QtiPlot. Se mettre dans QTI_ROOT puis :

  > qmake qtiplot.pro
  > make

La compilation vous crée un fichier exécutable nommé **qtiplot** qui se trouve dans QTI_ROOT/qtiplot. Vous pouvez installer ce binaire plus les docs, traductions et pages de manuel avec la commande :
  > sudo make install
Bon courage...
<note warning>Ce qui ne fonctionne toujours pas :

1. Le plugin pour firefox

2. La mise à jour des traductions
</note>
=== Soucis ===
  * QtiPlot pose plein de soucis lorsque l'on n'a pas bien installé les parties tierces. Attention donc à être bien rigoureux.
  * Un **make clean** provoque l'erreur suivante :
  
    make[1]: entrant dans le répertoire « /home/raoul/QtiPlot/qtiplot-0.9.8.4/manual »
    make[1]: *** Pas de règle pour fabriquer la cible « clean ». Arrêt.
    make[1]: quittant le répertoire « /home/raoul/QtiPlot/qtiplot-0.9.8.4/manual »
    make: *** [sub-manual-clean] Erreur 2

 Pour la contourner, modifier le fichier QTI_ROOT/qtiplot.pro en commentant (avec un #), la ligne N°4 qui débute par **manual**
  * Au démarrage, QtiPlot vous propose d'aider le développeur en faisant une donation puis vous dirige vers le site WEB. Après avoir fait un don, vous pouvez supprimer ces deux fonctionnalités : commentez la ligne N°15958 du fichier //ApplicationWindow.cpp// avec deux shlashes ainsi que la ligne N°61 du fichier //QtiPlotApplication.cpp// qui se trouvent dans **QTI_ROOT/qtiplot/src/core/**.
===== Utilisation =====
Un excellent manuel se trouve [[http://soft.proindependent.com/doc/manual-en/index.html|ici]]. Il est aussi fourni sous forme PDF avec les sources.

===== Désinstallation =====

=== Version installée via un paquet ===
Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.


=== Version installée depuis les sources ===

Se placer dans le répertoire où vous avez décompressé QtiPlot (appelé QTI_ROOT plus haut) puis :
  > sudo make uninstall


===== Voir aussi =====

  * [[http://soft.proindependent.com/qtiplot.html|Site officiel]] [en]
  * [[http://soft.proindependent.com/doc/manual-en/index.html|Manuel de qtiplot]] [en]

----


//Contributeurs : [[:utilisateurs:Volfoni54]]//

